.TH tlpctl 1 2025-12-01 "TLP 1.9.0" "Power Management"
.
.SH NAME
tlpctl \- control TLP power profiles
.
.SH SYNOPSIS
.B tlpctl
[\fB\-h\fR]
.I command
[\fIoptions\fR] [\fIargs\fR]
.
.SH DESCRIPTION
.B tlpctl
is a command-line utility to control TLP power profiles.
It allows users to switch between power profiles, list available profiles
and launch applications with specific power profiles. It offers a subset
of powerprofilesctl's commands supplemented by TLP-specific shortcuts.
.PP
.B tlpctl
communicates with the TLP Profiles Daemon (tlp-pd) which implements the
org.freedesktop.UPower.PowerProfiles D-Bus interface similar to power-profiles-daemon.

.
.SH COMMANDS
.SS Profile Shortcuts
.TP
.B performance
Switch to performance profile (shortcut for \fBtlpctl set performance\fR).
.TP
.B balanced
Switch to balanced profile (shortcut for \fBtlpctl set balanced\fR).
.TP
.B power-saver
Switch to power-saver profile (shortcut for \fBtlpctl set power-saver\fR).
.
.SS Profile Management
.TP
.B list
List available power profiles. The active profile is
marked with an asterisk (*).
.TP
.B get
Print the currently active power profile.
.TP
.BI "set " profile
Set the active power profile. Valid profiles are:
.BR performance ", " balanced " and " power-saver "."
This will release all active profile holds.
.TP
.
.BI "launch " "command " "[\fIoptions\fR]"
Run a command and request a specific power profile for it ("profile hold").
.RS
.TP
.BR \-p ", " \-\-profile " " \fIprofile\fR
Profile to hold while running the command (default: performance).
.TP
.BR \-r ", " \-\-reason " " \fIreason\fR
Reason for the profile hold (default: second and remaining words of the \fIcommand\fR).
.TP
.BR \-i ", " \-\-appid " " \fIappid\fR
Application identifier for the hold (default: first word of \fIcommand\fR).
.TP
Holds are automatically released, returning to the user's selected profile, when:
.IP \(bu 3
The holding command exits
.IP \(bu 3
The user manually changes the profile (with \fBtlpctl set\fR)
.IP \(bu 3
The application explicitly releases the hold
.TP
Multiple holds can be active simultaneously.
.RE
.TP
.B list-holds
List current power profile holds (from launch command), showing the profile name,
application ID, and reason for each hold.
.
.SS Diagnostics and Debugging
.TP
.BI "loglevel " \fIlevel\fR
Set the loglevel of the TLP Profiles Daemon (tlp-pd). Valid levels are:
.BR info " and " debug "."
.
.SS Information
.TP
.BR version ", " --version
Display version information for both the tlpctl client and the TLP Profiles Daemon.
.
.SH OPTIONS
.TP
.BR \-h ", " \-\-help
Show a help message and exit. Can be used with any command to show
command-specific help.
.
.SH AUTHORIZATION
.PP
An active, unlocked session is required to perform actions.
Changing the \fBloglevel\fR requires root privilege.
.
.SH POWER PROFILES
.TP
.B performance
Optimizes the system for maximum performance at the cost of higher power
consumption. Recommended for demanding workloads.
TLP default when running on AC power.
.TP
.B balanced
Provides a balance between performance and power consumption. Suitable for
general-purpose use. TLP default when running on battery power.
.TP
.B power-saver
Optimizes the system for maximum battery life at the cost of reduced
performance. Recommended for maximizing battery runtime.
.
.SH EXAMPLES
.TP
List available profiles:
.EX
$ tlpctl list
.EE
.TP
Switch to power-saver profile:
.EX
$ tlpctl power-saver
.EE
.TP
Get the currently active profile:
.EX
$ tlpctl get
.EE
.TP
Launch a game with performance profile:
.EX
$ tlpctl launch --profile performance --reason "Gaming" steam
.EE
.TP
Launch a command with default performance hold:
.EX
$ tlpctl launch make -j8
.EE
.TP
List active profile holds:
.EX
$ tlpctl list-holds
.EE
.
.SH EXIT STATUS
.TP
.B 0
Success
.TP
.B 1
General error (Invalid arguments, tlp-pd refuses the operation, D-Bus communication failure)
.TP
.B Other
When using \fBlaunch\fR, the exit status of the launched command is returned.
.
.SH SEE ALSO
.BR tlp (8),
.BR tlp-stat (8),
.BR tlp-pd (8).
.PP
TLP documentation: <https://linrunner.de/tlp>
.
.SH BUGS
Report bugs to: <https://github.com/linrunner/TLP/issues>
.SH AUTHOR
Copyright \(co 2025 Thomas Koch <linrunner at gmx.net> and contributors.
